Skip to content

Fix pipe event accounting and aligned tablet failure reporting#18150

Open
Caideyipi wants to merge 3 commits into
apache:masterfrom
Caideyipi:fix-pending-queue-poll-last-counter
Open

Fix pipe event accounting and aligned tablet failure reporting#18150
Caideyipi wants to merge 3 commits into
apache:masterfrom
Caideyipi:fix-pending-queue-poll-last-counter

Conversation

@Caideyipi

@Caideyipi Caideyipi commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR contains two independent fixes.

Pipe:

  • UnboundedBlockingPendingQueue#pollLast() now updates event-count accounting when it removes the tail event, consistent with the other poll paths.
  • Replaced pipe progress-report events are released when PipeRealtimeDataRegionSource swaps them out, avoiding leaked references/accounting.

Write:

  • TsFileProcessor.insertTablet() no longer overwrites existing per-row failure statuses with SUCCESS_STATUS after aligned tablet insertion.
  • Aligned tablet memory scheduling counts all rows appended to AlignedTVList, because failed rows are still appended and masked by bitmap rather than skipped. This avoids underestimating TVList array memory.

Tests

  • mvn spotless:apply -pl iotdb-core/node-commons
  • mvn -pl iotdb-core/node-commons -Dtest=UnboundedBlockingPendingQueueTest test
  • mvn spotless:apply -pl iotdb-core/datanode
  • git diff --check
  • mvn test -pl iotdb-core/datanode -Dtest=TsFileProcessorTest#alignedTabletKeepsFailedStatusesAndCountsWrittenRows (blocked by existing generated-sources/freemarker compile errors unrelated to this change)

@Caideyipi Caideyipi changed the title Fix pollLast event counter update Fix pipe event accounting and aligned tablet failure reporting Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants